#pragma once
#include "WareTypes.h"
#include "GraphicDef.h"
#include "WareEngineNameSpace.h"

BEGIN_WARE

class  ITexture;
struct SMaterial;

struct SRenderOperator
{
public:
	SRenderOperator() : m_pVertexBuffer(NULL), m_pIndexBuffer(NULL),m_eVertexFormat(VT_PT),m_nVertexStride(0)
		,m_nVertexCount(0), m_nIndexCount(0), m_nPrimitiveCount(0), m_pMaterial(NULL), m_eRenderType(RT_TRIANGLE_LIST) {}

	PrimitiveType		m_eRenderType;

	void*			m_pVertexBuffer;
	void*			m_pIndexBuffer;

	VertexFormat	m_eVertexFormat;
	int32			m_nVertexStride;
	int32			m_nVertexCount;
	int32			m_nIndexCount;
	int32			m_nPrimitiveCount;

	SMaterial*		m_pMaterial;
};

END_WARE